* {
    box-sizing: border-box;
}
:root {
  --white: white;
  --off_black: #111;
  --light_grey: #ccc;
  --pale_yellow: #FFFACD;
  --brownish: #806030;

}
@media screen and (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
body {
    font-family: arial, helvetica, sans-serif;
    background: var(--white);
    padding: 0;
}

p {
    color: #111;
/*    font: 14px arial, helvetica, sans-serif;
*/}
h1,h2,h3,h4 {
    color: brown;
    font-family: arial, helvetica, sans-serif;
    font-weight: bold;
    text-transform: lowercase;

}
h2 {
    font-size: 15px;
}
h3 {
    font-size: 15px;
}
h4 {
    font-size: 14px;
}

table {
    font-size: 13px;
    color:var(--off_black);
    line-height: 120%;
    empty-cells: show;
}
ul, ol {
    font: 15px arial, sans-serif;
    color: #222221;
    line-height: 120%;
}
/* (A) GALLERY IMAGES */

.cke_editable {
    display: none;
}
/* For FAQ */
.answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-out, opacity 0.4s ease-out;
}

.answer.visible {
  opacity: 1;
}

.gallery {
  /* (A1) GRID LAYOUT - 3 IMAGES PER ROW */
  display: grid;
  grid-template-columns: 50% 50%;
  grid-gap: 10px;

  /* (A2) OPTIONAL WIDTH RESTRICT */
/*  max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
*/
}

/* (B) GALLERY IMAGES */

.gallery img {
  width: 100%;
  height: auto;
  padding: 10px;
  border: 1px solid #ddd;
  background: #fff;
  object-fit: cover;
  box-sizing: border-box; /* so padding/border don't add to the reserved size */
}
.gallery.homepage img {
  aspect-ratio: 575 / 350;
}
.gallery.about_us img {
  aspect-ratio: 595 / 337;
}

/* (D) OPTIONAL ZOOM ON HOVER */
.gallery img:hover {
  z-index: 9;
  transform: scale(1.5);
  /* linear | ease | ease-in | ease-out | ease-in-out */
  transition: transform ease 0.5s;
}
@media only screen and (min-width: 600px) {
  .gallery {
    grid-template-columns: 33% 33% 33%;
  }
    .gallery img:hover {
      transform: scale(1.4);
    }
}
/* END GALLERY IMAGES */
.text_field, .check_box {
    display:none;
}
#recaptcha {
    display:none;
}

#info_icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    text-align: center;
    border-radius: 8px;
    background-color: DodgerBlue;
    color: white;
    font-size: 12px;
    font-weight: bold;
    margin-left: 5px;
    cursor: pointer;
}
/*START SPINNING LOADER */

.loader, .loader_place_holder {
  display: inline-block;
  width: 32px;
  height: 32px;
}
.loader {
  border-radius: 50%;
  background:
    radial-gradient(farthest-side,#666 94%,#0000) top/8px 8px no-repeat,
    conic-gradient(#0000 30%,#666);
  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0);
  animation: loader 1s infinite linear;
}

@keyframes loader {
  100%{transform: rotate(1turn)}
}
/*END SPINNING LOADER */
input#userInput {
    border: 1px solid grey;
    padding:2px 0 3px 2px;
    border-radius: 6px;
    background: white;
    height: 30px;
    width: 100px;
    font-size: 14px;
    margin-top:8px;
}
#userInput:hover, #userInput:focus {
    background: #f5f5f5;
}
#userInput :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #909;
   opacity:  1;
}
#userInput input [placeholder] {
    color:    red;
    font-size: 14px;
}
#zoom-search-icon {
    height: 40px;
    width: 40px;
    border: 0px solid grey;
    margin: 5px 20px 0 10px;
    border-radius: 5px;
    padding: 4px 0;
}
#zoom-search-icon:hover {
   background: #ddd;
}
span#prod_ajax #filter{
    position: absolute;
    background: white;
    max-width: 380px;
    max-height: 450px;
    border: 1px solid #666;
    display: none;
    color: black;
/*    overflow-y:scroll; */
    overflow-y:hidden;
    overflow-x: hidden;
}
span#prod_ajax ul{
    width: 300px;
    margin: 0px;
    position: relative;
    left: -40px;
  }
span#prod_ajax li{
    width: 300px;
    height: 20px;
    list-style: none;
    margin: 0px;
    font: 12px arial, sans-serif;
    text-align: left;
    padding-left: 5px;
}
span#prod_ajax li:hover{
    background: lightgrey;
  }

/*for dropdown menu */
#dd_menu .dropdown{
    float: left;
    width: 52px;
}
.dropdown {
  display: inline-block;
  position: relative;
  float: right;
}
.dropdown summary {
  list-style: none;
  cursor: pointer;
}
.dropdown-trigger {
  width:57px;
  text-align:center;
}
#dd_menu {
  width:50px;
}
.topbar_icon {
    position: relative;
    padding: 0 3px;
    margin-right: 5px;
    cursor: pointer;
}
.topbar_icon:hover {
    background: #ddd;
    border-radius: 5px;
}

.dropdown-content, .dropdown-content-menu {
  position: absolute;
  min-inline-size: max-content;
  background-color: white;
}
.dropdown details[open] summary::before {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  cursor: default;
}
.dropdown-content ul, .dropdown-content-menu ul {
    min-width: 160px;
    list-style: none;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
    position: relative;
    left: -75px;
    padding-left: 20px;
    z-index: 100;
}
.dropdown-content-menu ul {
    position: relative;
    left: 0;
}
.dropdown-content li, .dropdown-content-menu li {
    padding: 5px 5px 5px 0;
}
.back-to-top-link {
    display: inline-block;
    text-decoration: none;
    font-size: 2rem;
    line-height: 3rem;
    text-align: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background-color: #d6e3f0;
    /* emoji don't behave like regular fonts
     so this helped position it correctly */
    padding: 0.25rem;
}
.eye_o:before {
    content: url(https://www.biodistributors.com.au/images/eye-o.jpg);
    /*margin-left: -35px;*/
    cursor: pointer;
}
.eye_c:before  {
    content: url(https://www.biodistributors.com.au/images/eye-c.jpg);
   /* margin-left: -35px;*/
    cursor: pointer;
}
.w_password, .w_password:focus  {
    background: #F88;
}
.mw_password, .mw_password:focus  {
    background: #FB7;
}
.m_password, .m_password:focus {
    background: #FF7;
}
.ms_password, .ms_password:focus  {
    background: #DF7;
}
.s_password, .s_password:focus  {
    background: #5E4;
}

#help {
    cursor: pointer;
}
#prod_info_container img {
    width: 50%;
 }
 #flex_item a img {
     width: 25%;
     height: auto;
 }

#flex_container {
    display: flex;
    flex-wrap: wrap;
}
/*homepage*/
#hp .flex_item img {
    width: 70%;
    height: auto;
    border: 15px solid white;
    margin:20px;
}
#hp .flex_item img:hover {
    border-color: var(--light_grey);
}
.two_icons {
  display: flex;
  flex-wrap: nowrap;
  margin:auto;
}
.hp_text {
    font-size: 15px;
    margin: 5px 10px;
}
.hp_ccats {
    border: solid transparent 10px;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.hp_ccats > div.text, .hp_text > p{
   font-size: .8rem;
}

.hp_ccats:hover {
    border-color: var(--light_grey);
    cursor: pointer;
}
a .hp_ccats > div{
    padding: 5px 20px 5px 0;
}
/*a .hp_ccats > div.img{
    max-width: 20%;
}
*/
a .hp_ccats > div.img img{
   max-width: 120%;
   height: auto;
}

a.hp_link {
    text-decoration: none;
}

#flex_container_1 {
    display: flex;
    flex-wrap: wrap;
}
#flex_container_1 .container_2 {
    display: flex;
    flex-wrap: nowrap;
    margin: 20px 10px;
    border:10px solid white;
    width: 100%;
    margin: 10px;
     justify-content: center;
    cursor: pointer;
    position: relative;

}
/*following for buying group etc links*/
#flex_container_1 .container_2:hover {
    border:10px solid var(--light_grey);

}
#flex_container_1 img {
   width: 100px;
    height: 100px;
    float: left;
    margin: 10px;
    vertical-align: baseline;
}
#flex_container_1 .text {
    margin: 10px;
    padding: 10px;
    width:100%;
    display:flex;
    align-items: center;
}
.link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}
/*shop and prod info pages\*/
#pis .flex_item {
    height: auto;
    border: 15px solid white;
    max-width: 160px;
}
#pis .flex_item:hover {
    border-color: var(--light_grey);
}
/* end flex icons on home, plist and prod_info pages */

.place_order {
    font: 20px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    color: red;
}
@media (min-width: 1200px) {
    #hp #flex_container {
        flex-wrap: nowrap;
    }
    #pis #flex_container {
        flex-wrap: wrap;
    }
}

#prod_inf table {
     border-collapse: collapse;
}
#prod_inf td {
     padding: 5px;
}
#prod_inf img {
     width:45%;
     max-width:150px;
     border: none;
}
.popup {
    width:100%;
    height:100%;
    display:none;
    position:fixed;
    z-index: 25;
    top:0px;
    left:0px;
    background:rgba(0,0,0,0.5);
}
.popup-inner {
    max-width:600px;
    width:90%;
    padding:0px 10px;
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translate(-50%, -50%);
    transform:translate(-50%, -50%);
    box-shadow:0px 2px 6px rgba(0,0,0,1);
    border-radius:3px;
    background:#fff;
    text-align: center;
}
.popup-inner p {
    font-size: 12px;
}
.popup-close {
    width:30px;
    height:30px;
    padding-top:4px;
    display:inline-block;
    position:absolute;
    top:0px;
    right:0px;
    transition:ease 0.25s all;
    -webkit-transform:translate(50%, -50%);
    transform:translate(50%, -50%);
    border-radius:1000px;
    background:rgba(0,0,0,0.8);
    font-family:Arial, Sans-Serif;
    font-size:20px;
    text-align:center;
    line-height:100%;
    color:#fff;
}

a.popup-close {
    text-decoration:none;
}
.popup-close:hover {
    background:rgba(0,0,0,1);
    text-decoration:none;
    color: white;
}
#town_input {
    position: relative;
   /* z-index: 0;*/
}
.dropdown {
  position: relative;
}
.dropdown-menu {
  position: absolute;
 /* top: 100%;*/
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  font-size: 19px;
  text-align: left;
  list-style: none;
  background-color: #fff;
  -webkit-background-clip: padding-box;
          background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}
.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  text-decoration: none;
  text-transform: lowercase;
  font-weight:  bold;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #222;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  color: #262626;
  text-decoration: none;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  background-color: #337ab7;
  outline: 0;
}
.open > .dropdown-menu {
  display: block;
}



.cart_panel {
    padding: 0;
    position: fixed;
    right: -600px;
    top: 0;
    width: 600px;
    max-width: 80%;
    height: 100%;
    background: white;
    box-shadow: -2px 0 5px rgba(0,0,0,0.3);
    transition: right 0.6s ease;
    z-index: 1001;
    /* Make entire panel scrollable */
    overflow-y: auto;
}

.cart_header {
    font-weight: bold;
    border-bottom: 2px solid #333;
    padding: 20px;
}

#cart_contents {
    padding: 0 5px;
    display: grid;
    grid-template-columns: 18fr 1fr 2fr 3fr 2fr;
    gap: 5px;
}

.cart_footer {
    width: 100%;
    padding: 20px;
    border-top: 1px solid #ddd;
    background: #f9f9f9;
}

#close_cart {
    font-size: 16px;
    float: right;
    width: 16px;
    height: 16px;
    margin: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart_items_header, .cart_items_header {
  display: contents; /* allows children to align directly into the parent grid */
}


.cart_row span, .cart_row button {
  padding: 6px 0;
  border-bottom: 1px solid #ccc;
}

.cart_header, .cart_row {
  display: contents; /* allows children to align directly into the parent grid */
}


.cart_row span, .cart_row button {
  padding: 6px 0;
  border-bottom: 1px solid #ccc;
}

.cart_panel.open {
    right: 0;
}
.cart_overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
}

.cart_overlay.hidden {
    display: none;
}

.cart_header, .cart_footer {
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

@keyframes cart-bounce {
    0%   { transform: scale(1); }
    30%  { transform: scale(1.3); }
    60%  { transform: scale(0.9); }
    100% { transform: scale(1); }
}

#cart_num_lines.bump {
  animation: cart-bounce 0.4s ease;
}

div #cart_num_lines {
    position:absolute;
    top:1px;
    left:16px;
    background: red;
    width:18px;
    height:18px;
    border-radius:9px;
    color:white; text-align: center;
    font-family: Arial Black;
    font-size:10px;
    padding-top:2px;
}
#login input  {
    width: 90%;
    font: 16px arial, sans-serif;
    font-weight: bold;
    border: none;
    margin: 10px 0;
    border: 1px grey solid;
}

div#login input#submit_login {
    background: LimeGreen;
}
.login_submit {
    padding: 10px 0px;
}
#login_submit input, #login_modal_1 button, #cancel_submit, #co_ord_login_button {
    padding: 5px 10px;
    font-size: 20px;
    margin-bottom: 20px;
    border:none;
    background: #00CED1;
    border-radius: 5px;
}
#login_submit input:hover, #login_modal_1 button:hover, #cancel_submit:hover, #co_ord_login_button:hover {
    background: #1E90FF;
    color: white;
}
.checkout_page {
    font-size: 12px;
}
.checkout_1, .checkout_2 {
    float: left;
    margin: 0;
    width: 100%;
}

#checkout_heading {
    padding: 0;
    color: red;
    font: 16px arial, sans-serif;
}
.checkout_details {
    border: grey 2px solid;
    background: #fffff7;
    border-radius: 5px;
    padding: 5px 10px;
    margin-bottom: 10px;
    min-height: 70px;
    position: relative;
    color: #444;
}
.checkout_details p {
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
}
.checkout_2 div:nth-child(2) {
    margin-bottom: 0;
}
#paypal_image {
    float: left;
    width: 110px;
}
.error_msg_box {
    border: 1px red solid;
    margin:5px;
    padding: 5px;
    background: #Fff9Ef;
    color: red;
    font-size: 13px;
    font-style: italic;
    border-radius: 5px;
}
#formatted_input_table {
    border: #888 solid 1px;
    border-radius: 5px;
    margin: 5px 0 5px 0px;
    padding: 5px;
    display: block;
}

#formatted_input_table td:first-child {
    text-align: right;
}
#formatted_input_table td:last-child {
    text-align: left;
}
#delivery_table table {
    width: 100%;
}
#delivery_table td {
    padding: 10px 20px 10px 0;
}
#delivery_table td:nth-child(3){
    text-align: right;
}
.small_prod_image {
    float:left;
    background: white;
    margin: 0px 5px 0 0;
    border: solid 1px grey;
    text-align: center;
    cursor:url(../../images/zoom_in.cur), pointer;
}

.blue {
    color: blue;
}
.no_display {
    display: none;
}
/*.page_container {
    padding:0px 1px 2px 1px;
    width: 100%;
} */
.container {
	background: #f8f8d8;
    border-bottom-width: 0px;
    color: #222221;
}
.container_padding {
    padding-left: 20px;
    padding-right: 20px;
}
.pop_up_padding {
    padding-left: 15px;
    padding-right: 15px;
}
.top_links {
    font: 12px arial, verdana, helvetica, sans-serif;
    color: #303030;
    text-align: right;
}

.motto {
    font: 16px dolphin, arial, sans-serif;
    font-weight: bold;
    color: var(--brownish);
    text-align: center;
    text-transform: lowercase;
    padding-bottom: 5px;
}
.developed {
    font: 16px arial, helvetica, sans-serif;
    color: white;
    text-align: right;
    padding: 0 20px 5px 0;
}
.developed a:link, .developed a:visited {
    color: white;
    font-weight: bold;
}

.developed a:hover {
    color: red;
}

.under_construction {
    color: red;
    font: 24px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    text-align: center;
}
.temp_unavail {
    font: 12px verdana, arial, helvetica, sans-serif;
    color: #BA55D3;
}
table#my_list {
    background-color: white;
    border: 1px solid #888;
    width: 100%;
    border-collapse: collapse;
}
table#my_list td {
    border-bottom: 1px #aaa solid;
}
table#my_list td:first-child {
    width: 60%;
}
table#my_list td:nth-child(2) {
    width: 30%;
    text-align: right;
    vertical-align: bottom;
}
table#my_list td:last-child {
    width: 10%;
    text-align: center;
}
.small_error {
    font: 11px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    color: magenta;
}
.magenta {
    color: magenta;
}
.bold {
    font: 14px verdana, arial, helvetica, sans-serif;
    color: black;
    font-weight: bold;
}
.label {
    font: 12px verdana, arial, helvetica, sans-serif;
    color: black;
    font-weight: bold;
    line-height:120%
}
.bold_blue {
    font: 12px verdana, arial, helvetica, sans-serif;
    color: blue;
    line-height:120%
}
.bold_green_italic {
    font: 14px verdana, arial, helvetica, sans-serif;
    color: green;
    font-weight: bold;
    font-style: italic;
}
.black {
    color: black;
}
.page_heading {
	font: 15px verdana, arial, helvetica, sans-serif;
    color: var(--brownish);
	line-height: 120%;
	font-weight: bold;
	text-transform: lowercase;
}
.right {
    float: right;
}

ul#terms li {
    padding-bottom: 15px;
}
td.right_panel {
	padding: 0px 0px 0px 10px;
}

.bio {    color: black;
    font: 30px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    text-align: center;
}

.bio_01 {
    font: 18px arial, verdana, helvetica, sans-serif;
    color: black;
    text-align: center;
    font-weight: normal;
}

.aco_logo {
	border-style: solid;
	background: transparent;
	border-color: #707030;
}
td.aco {font: 15px arial, verdana, helvetica, sans-serif;
	font-weight: bold;
}
td.whsale {
	font: 9px arial, verdana, helvetica, sans-serif;
}
.image_link{
    display:block;
    width:20px;
    height:20px;
    background:url('http://localhost/WebSites/biodistributors/images/twitter_logo_4.jpg') no-repeat;
}

.image_link:hover {
    display:block;
    width:20px;
    height:20px;
    background:url('http://localhost/WebSites/biodistributors/images/twitter_logo_1.jpg') no-repeat;
}
#nutritional_panel {
  font-size: 11px;
}
#nutritional_panel table, #nutritional_panel p {
  margin: 0px auto;
  color: black;
  text-align: center;
}
table #nutritional_info {
  border-collapse: collapse;
  border-bottom: 1px solid #999;
  padding: 10px;
}
#heading {
  font-size: 11px;
  text-align: left;
  padding: 0px 8px;
  font-weight: bold;
  border: 1px solid #999;
}
#heading_1 {
  font-size: 16px;
  text-align: center;
  color: crimson;
  padding: 0px 8px;
  font-weight: bold;
  border: 1px solid #999;
}
#heading_2 {
  font-size: 14px;
  text-align: center;
  color: crimson;
  padding: 0px 8px;
  font-weight: bold;
  border: 1px solid #999;
}
#category {
  font-size: 11px;
  text-align: left;
  padding: 0px 8px;
  font-weight: bold;
  border-left: 1px solid #999;
  border-right: 1px solid #999;
}
#value {
  font-size: 11px;
  text-align: right;
  padding: 0px 4px;
  border-right: 1px solid #999;
}
.my_acount_orders td{
    background-color:#dddddd;
    color:#444444;
    border-bottom: solid 4px #ffffff;
}
.orders_table_row_highlighted td {
    background-color: #f8f8d8;
    color: black;
    border-bottom: solid 4px #ffffff;
}
.orders_table_row_highlighted a:link {
    font-weight: normal;
}
.my_acount_orders th {
    font-size: 10px;
    color: white;
    background-color: #556b2f;
    border-bottom:solid 4px #ffffff;
    font-weight: normal;
}
.background_shading {
    background: yellow;
    padding: 5px;
    border:solid 2px #555555;
}
.required {
    background: Wheat;
    padding: 5px;
    border:solid 2px #555555;
    border-radius: 7px;
}
#st {
    background: white;
    text-align: center;
    border:solid 1px #555555;
}
table.cust_input {
    border-collapse: collapse;
    border:solid 2px #aaa;
    border-radius: 7px;
    background: Wheat;
    padding: 5px;
}
table.cust_input td{
    padding: 5px;
}

/*-------------------------Links-----------------------------*/

a:link {
    color: #1E90FF;
    color: #C2EDFF;
    color:black;
}

a:visited {
    color: #1E90FF;
    color: #C2EDFF;
    color:black;
}

a:hover {
    color:#666;
}

.update a:link {
	color: red;
}
.update a:visited {
	color: #87CEFA;
}
.update a:hover {
	color: green;
}


.top_links a:link {
	color: #a0a0a0;
    text-decoration: none;
}

.top_links a:visited {
	color: #a0a0a0;
    text-decoration: none;
}
.top_links a:hover {
	color: #808080;
    text-decoration: none;
}
a.error:link, a.error:visited {
    font: 9px arial, verdana, helvetica, sans-serif;
    color: red;
}
a.error:hover  {
    color:green;
}
.del_addrs #entry {
    margin-bottom: 5px;
}

#checkout_box {
    border:2px solid #888;
    border-radius:10px;
}

#checkout, #payment_submit {
    float:right;
}

input#checkout, input#payment_submit {
    float: right;
    padding: 10px 20px;
    font: 16px verdana, arial, helvetica, sans-serif;
    border-radius: 10px;
    font-weight: bold;
}

.checkout_buttons {
    float: left;
    min-width: 320px;
}
.checkout_buttons form {
    float: left;
    margin-left: 10px;
    padding: 10px 0px 10px 0px;
}
.cust_details_input {
    width: 200px;
}
.postcode {
    width: 50px;
}
#progress_bar {
    font-size: 10px;
    border-radius: 5px;
    padding: 0;
    color: grey;
}
#pb_current {
    font-weight: bold;
    font-size: 15px;
    color: black;
}

#search_links {
    text-transform: lowercase;
    color: #666;
    text-decoration: none;
    line-height: 150%;
    padding-left: 50px;
}
#search_links ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
#search_links li {
    font: 16px arial, verdana, helvetica, sans-serif;
    line-height: 150%;
}

#search_links a:link, #search_links a:visited {
    color: #666;
    text-decoration: none;
}

#search_links a:hover {
    color: black;
    text-decoration: none;
}
li.current_page, a.current_page, a:hover.current_page {
    color: #333;
    font-weight: bold;
    text-transform: lowercase;
    padding: 2px 0 2px 10px;
}
#search_links li.current_page {
    padding-left: 0;
    color: #000;
}
#search_links a.current_parent_page {
    color: #333;
    font-weight: normal;
}
#search_links a:hover.current_parent_page {
    color: #333;
    font-weight: bold;
    color: black;
    font-weight: normal;
}
#sub-category-search-links ul {
    padding-left: 10px;
}
#sub-category-search-links li {
    font: 14px arial, verdana, helvetica, sans-serif;
    line-height: 120%;
}
#sub-category-search-links a:link, #sub-category-search-links a:visited {
    line-height: 10%;
    color: brown;
    padding-left: 10px;
    font-weight: normal;
    text-decoration: none;
    text-transform: lowercase;
}
#sub-category-search-links a:hover{
    color: black;
    font-weight: normal;
}
#sub-category-search-links li.current_page {
    color: #333;
    color: brown;
    font-weight: bold;
    padding-left: 10px;
}

#sub-category-search-links ul {
    list-style: none;
}
.forgot a:link, .forgot a:visited  {
	font-size: 15px;
	font-weight: bold;
	color: black;
    padding-left: 10px;
}
.forgot a:hover {
	color: grey;
}
.whats_new {
    font: 18px arial, helvetica, sans-serif;
    font-weight: bold;
    text-align: center;
}
.whats_new a:link, .whats_new a:visited {
    padding: 0px 5px;
    color: yellow;
    background: green;
    text-decoration: none;
}
.whats_new a:hover {
    color: green;
    background: yellow;
    text-decoration: none;
    border: 2px solid green;
}
.del_cost {
    text-align: left;
    font: 13px arial, helvetica, sans-serif;
    color: grey;
}
.del_cost a:link, .del_cost a:visited {
    text-decoration: underline;
    color: #1E90FF;
}
.del_cost a:hover {
    text-decoration: underline;
    color: black;
}
div#search_links div.question, div#search_links div.question a {
    font-style: normal;
    margin:  0;
}
#topbar_nav {
/*    position: sticky;*/
    top: 0px;
    background: white;
    margin-bottom: 15px;
    border-bottom: 2px solid #ddd;
}
#topbar_nav img {
    border-radius: 3px;
    height: 30px;
    width: auto;
    margin: 6px 5px 0 5px;
    padding: 1px;
    /*border-radius: 5px;*/
}
#topbar_nav img:hover {
    cursor: pointer;
    background: #ddd;
}
#topbar_nav button {
    float: right;
}
div.topbar_label {
    font-size: 11px;
    text-align: center;
    text-decoration: none;
}
a:link div.topbar_label, a:visited div.topbar_label, a:hover div.topbar_label {
    color: black;
    cursor: pointer;
}
.banner {
    margin:auto;
/*    margin-bottom: 10px;
*/    float:left;
    padding-left: 0;
    width:100%;
}
#banner_img {
    margin: 0 10px 5px 10px;
}
#banner_img img {
    width: 100%;
    height: auto;
    aspect-ratio: 600 / 169;
}
#header_banner {
    display: flex;
    margin-left: 5px;
    width:100%
}

#header_banner > div {
    margin: 2px;
    padding: 2px;
}
#header_logo {
/*    margin: auto;
*/    display: none;
    float:left;
    text-align:center;
    width:20%;
    min-width:200px;
    height: auto;
    padding: 0 5px;
    margin-bottom: 10px;
}
.logo_caption_big {
    color: sienna;
    font: 22px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

.logo_caption_small{
    font: 12px arial, verdana, helvetica, sans-serif;
    color: sienna;
    text-align: center;
    font-weight: normal;
}
#main_nav_butts {
    width: 100%;
}
.dropdown-menu-right {
  right: 5px;  /*needs to be same as r - padding for #topbar_nav */
  left: auto;
}
.dropdown-menu-left {
  right: auto;
  left: 0px;
}
#footer {
    border-bottom: 2px solid grey;
    background: black;
    padding:10px 0;
}
#footer ul {
    list-style-type: none;
    text-transform: lowercase;
    padding-left: 15px;
}
#footer a:link, #footer a:visited {
    color: white;
    text-decoration: none;
}
#footer a:hover {
    color: #0ff;
}
/*For magnifier modal*/
.tabs-container {
margin: 0 auto;
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
overflow: hidden;
}

.tab-buttons {
display: flex;
border-bottom: 1px solid #e0e0e0;
}

.tab-btn {
flex: 1;
padding: 14px 16px;
background: #fafafa;
border: none;
border-bottom: 3px solid transparent;
cursor: pointer;
font-size: 15px;
font-weight: 500;
color: #555;
transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.tab-btn:hover {
background: #f0f0f0;
}

.tab-btn.active {
color: #2563eb;
border-bottom-color: #2563eb;
background: #fff;
}

.tab-panels {
padding: 24px;
}

.tab-panel {
display: none;
animation: fadeIn 0.2s ease-in;
}

.tab-panel.active {
display: block;
}

@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

.tab-panel h2 {
margin-top: 0;
font-size: 18px;
color: #222;
text-transform: none;
}

.tab-panel p {
color: #555;
line-height: 1.6;
}


.more-info {
    border: 1px solid grey;
    border-radius: 10px;
    background: white;
    padding: 2px 8px;
    margin: 0 0 0 3px;
}
.more_info_link {
    text-decoration: none;
}

.plain-link {
    margin-right: 7px;
    cursor: pointer;
}

.plain-link:hover {
    margin-right: 2px;
}

td.plain-link > a.plain-link {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.more-info.row-hover,
#plist td a.error[href]:hover,
#prod_search_result a.error[href]:hover {
    font-weight: bold;
    background: #f54;
}
.error.oos_info:hover {
    font-weight: bold;
    background: red;
    font-size: 12px;
    color: white;
    padding:0 5px;
    box-shadow: 0px 0px 5px rgb(147,7,91);
    cursor: pointer;
}

.more-info.row-hover,
#plist table td a:hover,
#prod_search_result a:hover {
    box-shadow: 0px 0px 5px rgb(147, 7, 91);
}

.error.oos_info {
    font: 9px arial,verdana,helvetica,sans-serif;
    color: red;
}
.prod_details_add_to_cart {
    padding:10px;
    border:1px black solid;
    border-radius:10px;
    width:400px;
    min-height:50px; display:flex;
    align-items:center;
    margin:0 auto;
}
.prod_details_add_to_cart .error {
    padding-left: 40px;
}
.prod_details_add_to_cart .oos_info:hover {
    padding-left: 20px;
}

#plist td a.error[href] {
    color: red;
}
#plist td, #plist th {
    text-align: left;
    padding: 3px;
}
#plist td:last-child, #plist th:last-child {
    text-align: right;
}
#plist td:nth-child(2) {
    width: 20px;
}
#plist td.pl_divider_bgcolor {
    padding: 5px 0 3px 5px;
    background: var(--pale_yellow);
    text-align: left;
    font-size: 1.3em;
}
#plist #special {
    font: 11px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    color: magenta;
    white-space: nowrap;
}
#float_left {
    float:left;
}
#plist table {
    border: 2px solid #ccc;
    border-collapse: collapse;
    width: 100%;
}
#plist td, #plist th, #prod-listing th {
    vertical-align: top;
    border: 2px solid #ccc;
    padding-left: 0;
}
#plist td.mt{
    border-bottom: none;
}
#plist td.mm {
    border-top: none;
    border-bottom: none;
}
#plist td.mb {
    border-top: none;
}
#plist img {
    vertical-align: middle;
    vertical-align: top;
}
#prod-info-content img {
    margin: 20px;
    border: 1px solid grey;
}
#prod-special {
    width: 100%;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}
table#pl-index li {
    padding: 5px 0;
}
#prod_search_result {
    float:left;
    width:100%;
    height: 110px;
    margin-right:4px;
    margin-bottom:10px;
    padding: 5px;
    background: beige;
    border: 1px solid grey;
    border-radius:5px;
    font-size: 12px;
    font-weight: bold;
}

#list #price_qty_order {
    float:right;
    padding: 25px 0px;
}
#cart_button input {
    font-size: 11px;
}
.qty {
    margin-left: 5px;
}
.qty_input {
    text-align:right;
    font-weight:bold;
    color:blue;
    width:15px;
    margin-left:1px;
}
.adj_qty {
    float: right;
    min-width: 60px;
    border: 1px solid #ccc;
    border-radius: 5px
}
.adj_qty input {
    font-size:18px;
    text-align:center;
    color:black;
    width:30px;
    height: 30px;
    border: none;
}
.decr_qty, .incr_qty {
    font-size:20px;
    width:20px;
    height:28px;
 /*   background-color: #f8f8f8;*/
}
.adj_qty .tag {
    min-width:25px;
}

#prod_news_container_table p {
    line-height: 1.3em;
}
#prod_news_container {
    background: white;
    padding: 5px 20px 20px 20px;
    border: 1px solid #ccc;
    border-radius: 20px;
    margin-right: 10px;
}
#prod_news_container img {
    background: white;
    border: solid #aaa 2px;
    border-radius: 5px;
    width:100%;
    height: auto;
}
.prod_news_table {
    width: 100%;
    padding: 5px;
    border-collapse: collapse;
    line-height: 140%;
    margin-bottom: 10px;
}
.prod_news_table th, .prod_news_table td {
    border: 2px solid #999;
    padding: 5px;
    background-color: beige;
}
.prod_news_table td.specials_header {
    color:brown;
    background-color: white;
    margin-top:10px;
}
.prod_news_table td p {
    line-height: 1.3em;
}

#support .clearfix div {
    width: 100%;
}
#support ul {
    list-style-type: none;
    margin: 0px;
}
#support li {
    line-height: 120%;
    border-collapse: collapse;
    padding-bottom: 10px;
}
#amount table, #amount th, #amount td {
    border: 1px solid #777;
    border-collapse: collapse;
    padding: 5px 10px;
    text-align: center;
}
img#logo {
    float:left;
    display: none;
}
.site_links, .current_site_link {
    font: 20px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    color: black;
    padding: 1px 6px;
    margin: 0px 6px;
    text-decoration: none;
    border: 1px solid grey;
    border-radius: 5px;
    /*margin: 0,0,20px,0;*/
    margin: auto;
}
.current_site_link {
 /*   background: #01f022;*/
    background: #10b32f;
    /*color: black;*/
}
a.site_links:link, a.site_links:visited {
    background: #FFFBC2;
    color: #333;
}

a.site_links:hover  {
/*    background: #01f022;*/
    background: #10b32f;
    color: black;
}
#main_panel {
    float:left;
    width:100%;
}
#side_panel {
    float:left;
    padding: 0 5px;
    margin-top: 10px;
}
.r_panel_logo {
    text-align:center;
    margin-bottom: 15px;
}
.r_panel_logo img {
    width: 80%;
    height: auto;
}
.sxc_logo img {
    aspect-ratio: 252 / 143;
}
.bdri_logo img {
    aspect-ratio: 260 / 170;
}
div.page_links {
    display: none;  /*only for <800 wide screen*/
    background-color: var(--white);
    font: 18px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    text-decoration: none;
    text-transform: lowercase;
    color: sienna;
    line-height: 160%;
    padding: 2px 0 2px 45px;
}
div.page_links a:link, .page_links a:visited  {
    text-decoration: none;
    color: sienna;
}
.page_links a:link:hover {
    color: grey;
    padding: 2px 3px 2px 0;
    border: 1px solid grey;
    border-width: 1px 0;
}
.footer_box {
    font-size: 15px ;
    float: left;
    width: 50%;
}
.footer_box#acknowledge {
    float: left;
    width: 100%;
    padding:0 70px 0 50px;
    margin: 0px;
    text-align: center;
}
.footer_box p {
    color: white;
    font-size: 16px;
}
.footer_box li {
    padding: 10px;
    font-size: 20px;
}
#pl_index ul, #home_page ul {
    list-style-type: none;
    padding: 20px 0 100px 0;
    margin-bottom: 50px;
}
#ap_index ul {
    list-style-type: none;
    padding: 10px 0 20px 0;
    margin-bottom: 10px;
}
#pl_index li, #home_page li, #ap_index li {
    float: left;
    border: 1px solid #999 ;
    color: #444;
    height: 50px;
    text-align: center;
    text-transform: lowercase;
    width: 48%;
    padding: 15px 5px;
    border-radius: 10px;
    margin: 5px 2% 5px 0;
    font-size: 15px;
    line-height: 110%;
}
#home_page a {
    color: #444;
    text-decoration: none;
}
#ap_index li {
    height: 20px;
    line-height: 0;
    font-size: 12px;
    padding: 10px 0;
    margin: 2px;
}
#pl_index li:hover, #home_page li:hover, #ap_index li:hover{
    color: black;
    background: var(--pale_yellow);
    border-color: black;
}
#home_page li {
    width: 48%;
}
#pl_index a:link, #pl_index a:hover, #pl_index a:visited, #ap_index a:link, #ap_index a:hover, #ap_index a:visited {
    text-decoration: none;
    color: black;
}
#pl_index a:hover {
    background: khaki;
}
#ap_index a:hover {
    background: var(--pale_yellow);
}
.magenta {
    color: magenta;
    font-size:12px;
}
#bottom_link {
    font-weight: bold;
    font-size: 12px;
}
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  padding-top: 20px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.4);
}
.modal-content {
    display: flex;
/*    justify-content: center;
    align-items: center;
*/    flex-direction:column;
    background-color: #fefefe;
    padding: 10px 3px;
    margin: auto;
    border: 1px solid #555;
    /*width: 80%; */
    /*height: auto; */
    border-radius: 10px;
    width: 95%;
}
#product_image_modal .modal-content {
  width: 50%;
}
.close-x {
    font-size: 30px;
    font-weight: bold;
    padding:4px;
    margin:0 10px;
    text-align: right;
    float: right;
 /*   float: right;  */
}
/*a#modal_close {
    padding: 0 5px;
    border-radius: 10px;
}
a#modal_close:link, a#modal_close:visited {
    font-size: 30px;
    font-weight: bold;
    color: #999;
    background: transparent;
    text-decoration: none;
}
a#modal_close:hover {
    color: #000;
    text-decoration: none;
}
#modal_open span#login {
    padding: 2px 10px;
    line-height: 1.42857;
}
#modal_open span#login:hover {
    cursor: pointer;
}
*/
.thumb {
/*    width:50px; */
    margin-right:0px;
    cursor:zoom-in;
    max-height: 70px;
}
.normal {
    border:1px solid #000000;
}
.close_x {
    font-size: 30px;
    padding: 10px;
    cursor: pointer;
}
div#buttons {
  display: flex;
}
.close, .cart-btn {
  color: #555;
  float: left;
  font-size: 14px;
  font-weight: bold;
  width: 70px;
  padding: 2px;
  border: 1px black solid;
  border-radius: 5px;
  margin: 2px;
}
#view_cart .cart-btn {
  width: 50px;
}

.close:hover, .close:focus, .close-x:hover, .close-x:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}
#added {
    width:100%;
    background: #FFFFAC;
    border:1px solid #888
}
table#added td {
    padding: 2px 2px;
}
#added tr:first-child {
    background: transparent;
}
.left_panel_box {
    border:1px solid #888;
    padding:5px;
    color:blue;
    border-radius:3px;
    font-style:italic;
    background:white;
    width:100%;
}
.error {
    font-size: 12px;
    font-family: arial, sans-serif;
    color: red;
    font-weight: bold;
    font-style: italic;
}
.ordering {
    display: none;
    font-size: 15px;
    font-weight: bold;
    color:  #555;
}

.ordering a:link, .ordering a:visited {
    color:var(--off_black);
    background-color: beige;
    text-decoration: none;
    border: 1px solid var(--off_black);
    padding: 5px;
    border-radius: 3px;
}

.ordering a:hover {
    background-color: #aaa;
}
.highlight {
    font: 13px verdana, arial, helvetica, sans-serif;
    font-weight: bold;
    color: black;
    text-transform: lowercase;
    overflow: visible; /* use to stop button being too wide in IE */
    padding: 3px;
    border: 1px solid black;
    border-radius: 6px;
    margin: 9px;
    background: white;
}
.highlight:hover {
    background: #d8f8f8;
    color: black;
    cursor: pointer;
}
.highlight_3 {
    font: 14px arial, verdana, helvetica, sans-serif;
    font-weight: bold;
    color: red;
    background: yellow;
    padding: 2px 5px;
    overflow: visible;
}
input.input, select {
    font-size: 11px;
    background: white;
    border: 1px solid grey;
    border-radius: 4px;
    padding: 2px;
    text-transform: lowercase;
    color: #222;
}
input#r_input {
    font-size: 18px;
    border-radius: 3px;
    padding: 1px 5px;
    margin-top:1px;
}
input, input.input [type~=input], select {
    text-transform: none;
}
input:hover, input.input:hover, input:focus, input.input:focus, input [disabled=disabled] {
    color: black;
    background: #ddd;
}
input[disabled].highlight, input[disabled].highlight:hover {
    background: #eee;
    color: #666;
}
.input {
    padding: 0px 2px;
    overflow: visible;
}
input[type=number]{
    width: 43px;
    font-size: 11px;
    font-weight: bold;
    color:blue;
}
table#cart_table td {
    padding: 15px 25px 15px 5px;
}
table#cart_checkout {
    float: right;
}
table#cart_checkout td {
    padding: 0px 5px 15px 5px;
}
#view_selector {
    font-size: 12px;
    padding-right: 10px;
}
#view_selector a {
    margin-top: 10px;
}
#fsm {
    display: block;
}
table#cart_contents {
    border:1px solid #999;
    border-collapse: collapse;
    background: #fffff5;
    width: 100%;
}
table#cart_contents td {
    border-top: 1px solid #666;
    padding: 5px 1px;
}
table#cart_contents tr:last-child td {
    border-top: none;
}
#subcat_top_menu ul {
    line-height: 300%;
}
#subcat_top_menu li {
    display: inline;
    border: 1px solid grey;
    padding: 5px 10px;
    margin: 5px 20px 5px 0px;
    border-radius: 3px;
    text-decoration: none;
    background: transparent;
}
#subcat_top_menu a {
    text-decoration: none;
}
/*#subcat_top_menu li#active {
    border: 1px solid black;
    cursor: default;
}
#subcat_top_menu li#active:hover {
    background: transparent;
}
#subcat_top_menu li:active {
    border: 1px solid black;
}
#subcat_top_menu li:hover {
    background: var(--pale_yellow);
    border: 1px solid black;
}
*/
#subcat_top_menu li#active {
    border: 1px solid black;
    background: var(--pale_yellow);
    cursor: default;
}
#subcat_top_menu li:hover {
    background: var(--pale_yellow);
    border: 1px solid black;
}



#tp {
    position: relative;
    border: 2px solid pink;
    width: 167px;
    height: auto;
    margin: 5px;
    z-index: -1000;
    cursor: pointer;
}

#scroll_top_button {
    position: fixed;
    bottom: 40px;
    right: 40px;
    background-color: #555;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    display: none;
    z-index: 1000;
    align-items: center;
    justify-content: center;
    transform: rotate(180deg);
}

#scroll_top_button svg {
    width: 24px;              /* SVG size */
    height: 24px;
    fill: #fff;
    margin: 5px 10px;
}
#scroll_top_button:hover {
    background-color: #333;
}

/* Container holds the thumbnail and provides the positioning context */
.zoom-container {
    position: relative;
    display: inline-block;
    margin: 10px;
    width:30%;
    aspect-ratio: 235 / 360;
}
.zoom-thumb {
    width: 100%;
    aspect-ratio: 235 / 360;
    background-size: cover;
    background-position: center;
    cursor: zoom-in;
}
#product_details_page .zoom-thumb {
    cursor: default;
}

.zoom-thumb {
  position: relative;
  overflow: hidden;
}

.zoom-thumb#product_image {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor:inherit;
}

.zoom-viewfinder {
    position: absolute;
    display: none;
    border: rgba(37, 150, 190, 1.0) 1px solid;
    background-color: transparent;
    pointer-events: none;
    box-sizing: border-box;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}

.zoom-viewfinder::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(circle at center, rgba(37, 150, 190, 1.0) 1px, transparent 0);
    background-repeat: repeat;
    background-size: 3px 3px;
    aspect-ratio: 1 / 1;
}
/* 1. Zoom Window (The Visible 2x Area, relative to container) */
.zoom-window {
    position: absolute; /* CRITICAL: Positioning is relative to .zoom-container */
    top: -24%;
    width: 238%;
    aspect-ratio: 1/1;
    border: 2px solid #aaa;
    background-color: white;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s;
    overflow: hidden;
    z-index: 1000;
    cursor: default;
}
.zoom-window.active {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
}
.zoom-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 940px;
    height: 1440px;
    background-size: 100% 100%;
    background-repeat: no-repeat;

    /* Use 'will-change: transform' to hint to the browser for performance */
    will-change: transform;
    cursor: zoom-out;
}


/*For image gallery*/
.c-mm {
  --h: 9;
  --w: 16;
  --z: 100; /* z-index begin */
  --animdur: 8000ms; /* 3 times the duration */
  --animtf: ease-out;
  --dist: clamp(0.75rem, 10vw, 1.5rem);
  --slides: 20;
  font-size: 1rem;
  position: relative;
}
.c-mm::before {
  content: '';
  display: block;
  padding-bottom: calc(var(--h) / var(--w) * 100%);
}
[data-caption] {
  --b: var(--dist);
  --l: var(--dist);
  --r: initial;
  --t: initial;

  bottom: var(--b);
  color: rgba(255, 255, 255, 0.9);
  font-family: 'Arias', sans-serif;
  font-weight: bold;
  font-size: clamp(1rem, 10vw, 20px);
  left: var(--l);
  line-height: 1;
/*  text-transform: capitalize;
*/  position: absolute;
  right: var(--r);
  top: var(--t);
}
[data-caption] div,
[data-filter] div {
  font-family: 'Arial', sans-serif;
  font-size: 75%;
 /* text-transform: capitalize*/
}

[data-caption*="bottom"] {
  --b: var(--dist);
  --t: auto;
}
[data-caption*="left"] {
  --l: var(--dist);
  --r: auto;
}
[data-caption*="right"] {
  --l: auto;
  --r: var(--dist);
}
[data-caption*="top"] {
  --b: auto;
  --t: var(--dist);
}

.c-mm__frame {
  --animps: paused;
  --img-animps: paused;
  --index: 0;
  animation: autoplay var(--animdur) infinite;
  animation-delay: calc((var(--index) * var(--animdur)) / 3);
  animation-play-state: var(--animps);
  box-sizing: border-box;
  height: 100%;
  margin: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* Alas, we cannot use var() in nth-selector :-(, so we need code for 3-20 items */
.c-mm__frame:nth-last-child(3):first-child,
.c-mm__frame:nth-last-child(3):first-child ~ .c-mm__frame {
  animation-duration: var(--animdur);
}
.c-mm__frame:nth-last-child(4):first-child,
.c-mm__frame:nth-last-child(4):first-child ~ .c-mm__frame {
  animation-duration: calc((4/3) * var(--animdur));
}
.c-mm__frame:nth-last-child(5):first-child,
.c-mm__frame:nth-last-child(5):first-child ~ .c-mm__frame {
  animation-duration: calc((5/3) * var(--animdur));
}
.c-mm__frame:nth-last-child(6):first-child,
.c-mm__frame:nth-last-child(6):first-child ~ .c-mm__frame {
  animation-duration: calc((6/3) * var(--animdur));
}
.c-mm__frame:nth-last-child(7):first-child,
.c-mm__frame:nth-last-child(7):first-child ~ .c-mm__frame {
  animation-duration: calc((7/3) * var(--animdur));
}
.c-mm__frame:nth-last-child(8):first-child,
.c-mm__frame:nth-last-child(8):first-child ~ .c-mm__frame {
  animation-duration: calc((8/3) * var(--animdur));
}
.c-mm__frame:nth-last-child(9):first-child,
.c-mm__frame:nth-last-child(9):first-child ~ .c-mm__frame {
  animation-duration: calc((9/3) * var(--animdur));
}
.c-mm__frame:nth-last-child(10):first-child,
.c-mm__frame:nth-last-child(10):first-child ~ .c-mm__frame {
  animation-duration: calc((10/3) * var(--animdur));
}

.c-mm__img {
  animation-direction: alternate;
  animation-duration: calc(var(--animdur) / 1.5);
  animation-fill-mode: both;
  animation-iteration-count: infinite;
  animation-name: var(--animn);
  animation-play-state: var(--img-animps);
  animation-timing-function: var(--animtf);
  /*height: auto;  */
  object-fit: cover;
  object-position: var(--x, 50%) var(--y, 50%);
  position: absolute;
  top: 0;
  width: 100%;
/*  max-width: 800px;
*/  will-change: transform;
}

.c-mm__inner {
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
}

.c-mm__play {
  --size: clamp(3rem, 10vw, 4rem);
  align-items: center;
  background: rgba(235,235,235,0.9);
  box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1), 0px 2px 4px -1px rgba(0, 0, 0, 0.06);
  border-radius: 50%;
  display: flex;
  height: var(--size);
  justify-content: center;
  position: absolute;
  bottom: var(--dist);
  right: var(--dist);
  user-select: none;
  width: var(--size);
  z-index: calc(var(--z) + var(--slides) + 1);
}

.c-mm__play:hover {
  background: rgba(255,255,255,0.9);
}

/* CHECKBOX-HACK STATE */
[name="slideshow"]:checked ~ .c-mm__inner .c-mm__frame {
  --animps: running;
  --img-animps: running;
}
[name="slideshow"]:not(:checked)  ~ .c-mm__inner .c-mm__frame {
  --animps: paused;
  --img-animps: paused !important;
}
[name="slideshow"]:not(:checked) ~ .c-mm__inner .c-mm__frame:first-of-type {
  opacity: 1;
}
[name="slideshow"]:checked + label [data-css-icon*="play"] i::after {
  --cpa: polygon(40% 0%,0% 0%,0% 100%,40% 100%,40% 0%,60% 0%,100% 0%,100% 100%,60% 100%,60% 0%);
}

/* DETAILS STATE */
details[open] ~ .c-mm__inner .c-mm__frame {
  --animps: running;
  --img-animps: running;
}
details:not([open])  ~ .c-mm__inner .c-mm__frame {
  --animps: paused;
  --img-animps: paused !important;
}
details:not([open]) ~ .c-mm__inner .c-mm__frame:first-of-type {
  opacity: 1;
}
details[open] summary [data-css-icon*="play"] i::after {
  --cpa: polygon(40% 0%,0% 0%,0% 100%,40% 100%,40% 0%,60% 0%,100% 0%,100% 100%,60% 100%,60% 0%);
}
summary::marker { display: none; }
summary::-webkit-details-marker { display: none; }

@keyframes autoplay {
  0.1% { --img-animps: running; opacity: 0; z-index: calc(var(--z) + var(--slides)) }
  5% { opacity: 1 }
  50% { opacity: 1 }
  51% { --img-animps: paused }
  100% { opacity: 0; z-index: var(--z) }
}

/* ----------------------------------------------
 * Generated by Animista on 2020-11-25 9:5:10
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info.
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
@keyframes kenburns-top{0%{transform:scale(1) translateY(0);transform-origin:50% 16%}100%{transform:scale(1.25) translateY(-15px);transform-origin:top}}
@keyframes kenburns-top-right{0%{transform:scale(1) translate(0,0);transform-origin:84% 16%}100%{transform:scale(1.25) translate(20px,-15px);transform-origin:right top}}
@keyframes kenburns-right{0%{transform:scale(1) translate(0,0);transform-origin:84% 50%}100%{transform:scale(1.25) translateX(20px);transform-origin:right}}
@keyframes kenburns-bottom-right{0%{transform:scale(1) translate(0,0);transform-origin:84% 84%}100%{transform:scale(1.25) translate(20px,15px);transform-origin:right bottom}}
@keyframes kenburns-bottom{0%{transform:scale(1) translateY(0);transform-origin:50% 84%}100%{transform:scale(1.25) translateY(15px);transform-origin:bottom}}
@keyframes kenburns-bottom-left{0%{transform:scale(1) translate(0,0);transform-origin:16% 84%}100%{transform:scale(1.25) translate(-20px,15px);transform-origin:left bottom}}
@keyframes kenburns-left{0%{transform:scale(1) translate(0,0);transform-origin:16% 50%}100%{transform:scale(1.25) translate(-20px,15px);transform-origin:left}}
@keyframes kenburns-top-left{0%{transform:scale(1) translate(0,0);transform-origin:16% 16%}100%{transform:scale(1.25) translate(-20px,-15px);transform-origin:top left}}

/* FROM CSS-ICONS-PEN, slightly modified */
[data-css-icon] {
  --icon-size: 1.5rem;
  --size: 3.75rem;
  --bdrs: 50%;
  --c: currentcolor;
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
}
[data-css-icon] i {
  align-items: center;
  border-radius: var(--bdrs);
  box-sizing: content-box;
  display: inline-flex;
  height: var(--size);
  justify-content: center;
  position: relative;
  width: var(--size);
}
[data-css-icon] i::after {
  --cpa: none;
  --h: var(--icon-size);
  --w: var(--icon-size);
  background-color: var(--bgcl);
  clip-path: var(--cpa);
  content: "";
  display: inline-block;
  height: var(--h);
  margin: 0;
  width: var(--w);
}
[data-css-icon*="play"] i::after {
  --bgcl: var(--c);
  --cpa: polygon(16% 0%,15% 100%,100% 50%);
}

/* SAFARI HACK */
@media not all and (min-resolution:.001dpcm) {
  @supports (-webkit-appearance:none) {
    summary [data-css-icon] i {
      right: -2px;
      top: 2px;
    }
  }
}
#au_spinner {
  position: absolute;
  bottom: 50%;
  right: 50%;
  margin: auto;
  width: 40px;
  height: 40px;
  z-index: -100;

}
/*End Image gallery*/
@media not all and (min-resolution:.001dpcm) {
  @supports (-webkit-appearance:none) {
    summary [data-css-icon] i {
      right: -2px;
      top: 2px;
    }
  }
}
#au_spinner {
  position: absolute;
  bottom: 50%;
  right: 50%;
  margin: auto;
  width: 40px;
  height: 40px;
  z-index: -100;

}
/*End Image gallery*/
@media only screen and (min-width: 450px) {
    div.adj_qty input[type='text'] {
        border-radius: none;
    }
    .banner {
        padding-left: 15px;
    }
    #topbar_nav {
        padding: 0px;
    }
    .dropdown-menu-right {
      right: 0px;  /*needs to be same as r - padding for #topbar_nav */
    }
    .dropdown-menu-left {
      left: 20px;
    }
    input#userInput {
        width: 135px;
    }
    .site_links, .current_site_link {
        font-size: 25px;
        padding: 2px;
        margin: 2px;
        border-radius: 8px;
    }
    .page_heading {
        font: 20px verdana, arial, helvetica, sans-serif;
        line-height: 150%;
        font-weight: bold;
    }
   #plist td {
       font-size: 14px;
   }
    #pl_index li, #home_page li {
        /*border-width: 4px;*/
        height: 60px;
        width: 31%;
        padding: 20px 0;
        margin: 5px 2% 0 0;
        font-size: 18px;
    }
    #ap_index li {
        width: 31%;
        font-size: 15px;
    }
    #home_page li {
        padding-top: 20px;
        width: 48%;
    }
    .ordering {
        text-align: right;
    }
    .error {
        font-size: 15px;
    }
    .ordering {
        display: block;
    }
    .highlight {
        padding:5px;
        border: 1.5px solid grey;
        border-radius: 10px;
        margin: 2px 2px 2px 20px;
    }
    #paypal_image {
        width: 155px;
    }
    #formatted_input_table {
        margin: 10px 0 5px 15px;
        padding: 15px;
    }
    .del_addrs  {
        margin-left:20px;
    }
    #hidden {
        display: none;
    }
    #hidden_margin {
        float: left;
        margin-left: 20px;
    }
    input#checkout, input#payment_submit {
        padding: 20px 30px;
        font: 20px verdana, arial, helvetica, sans-serif;
        font-weight: bold;
        border-radius: 15px;
    }
    input.input, select {
        font-size: 13px;
        padding: 5px;
        border-radius: 7px;
    }
    input[type=number]{
        width: 50px;
        font-size: 13px;
        font-weight: bold;
        color:blue;
    }
    #r_panel_logo {
        margin-bottom: 10px;
    }
    #r_panel_logo img {
        width: 50%;
        height: 50%;
    }
    #search_links {
        padding-left: 0px;
    }
    #list #price_qty_order {
        padding: 25px 0px;
    }
    #cart_button input {
        font-size: 13px;
    }
    #view_selector {
        font-size: 13px;
        padding-right: 0;
    }
    .checkout_page {
        font-size: 14px;
    }
    table#cart_contents td{
        border-top: none;
    }
    table#cart_table td {
        padding: 15px 25px;
    }
    table#cart_checkout td {
        padding: 0 15px 15px 15px;
    }
    .qty {
        margin-left: 35px;
        margin-right: 25px;    }
    .qty_input {
        width:35px;
        margin-left:5px;
        border-radius:3px;
    }
    .decr_qty, .incr_qty {
        padding:2px;
    }
}
@media only screen and (min-width: 600px) {
    ul, ol {
        font: 18px arial, sans-serif;
    }
    #plist td, #plist th {
        padding: 5px;
    }
    h2 {
        font-size: 16px;
    }
    p {
        font-size: 18px;
    }
    table {
        font-size: 14px;
    }
    .adj_qty input {
        width:25px;
    }
   #plist td {
       font-size: 15px;
   }
    table#cart_contents td{
        padding: 3px;
    }
    #support .clearfix div {
        float: left;
        width: 50%;
    }
    .motto {
        font-size: 20px;
    }
    .question {
        font-size: 15px;
    }
    .bold_blue {
        font-size: 12px;
        font-weight: bold;
        line-height:150%
    }
    .label {
        font-size: 14px;
        line-height:150%
    }
    .error_msg_box {
        font-size: 16px;
        margin: 20px;
        padding: 15px;
    }
    .popup-inner {
        width:80%;
        padding:10px 40px;
    }
    .popup-inner p {
        font-size: 14px;
    }
    #r_panel_logo img {
        width: 60%;
        height: 60%;
    }
    .cust_details_input {
        width: 400px;
    }
    .checkout_1 {
        width: 68%;
        margin-right: 2%;
    }
    .checkout_2 {
        width: 30%;
    }
    .checkout_1 div:nth-child(2) {
        margin-bottom: 0;
    }
    #modal_window {
        width: 380px;
        padding: 10px 20px;
        border-width: 5px;
        border-radius: 10px;
      }
    #topbar_nav {
        padding: 0;
    }
    .dropdown-menu-right {
      right: 0px;  /*needs to be same as r - padding for #topbar_nav */
    }
    .site_links, .current_site_link {
        font-size: 30px;
        padding: 5px;
        margin: 10px;
        border-radius: 10px;
    }
    #footer ul {
        padding-left: 20px;
    }
    #prod_inf img {
     width:45%;
     max-width:400px;
     border: none;
    }
    .c-mm {
      margin: 0 50px;
    }
    .hp_ccats > div.text, .hp_text > p{
       font-size: .9rem;
    }
}
@media only screen and (min-width: 800px) {
    #header_banner {
        width:80%
    }
  [data-caption] {
      font-size: clamp(1rem, 10vw, 35px);
    }
    #banner_img {
        margin: 0 10px 20px 10px;
/*        width: 660px;
        height: 170px;
        max-width: 50%;
        display:block;*/
    }
    #r_panel_logo img {
        width: 80%;
        height: 80%;
    }
/*    .page_container {
        padding:0px 20px 25px 20px;
    }
*/
    .banner {
    }
    img#logo {
        display: block;
        width: 100%;
    }
    #topbar_nav {
        margin-bottom: 10px;
    }
    #topbar_nav img {
        height: 30px;
        margin: 8px 5px 0px 5px    }
    input#userInput {
        padding:3px 0 5px 3px;
        border-radius: 8px;
        background: white;
        height: 35px;
        width: 170px;
        font-size: 18px;
    }
    #topbar_nav {
        margin-bottom: 10px;
        padding: 0 20px;
    }
    .dropdown-menu-right {
      right: 20px;  /*needs to be same as r - padding for #topbar_nav */
    }
    .dropdown-menu-left {
      left: 30px;
    }
    div#search {
        margin-right: 100px;
    }
    #zoom-search-icon {
        height: 35px;
        width: 35px;
        border-radius: 8px;
        padding: 2px 0;
    }
    .thumb {
        margin-right:5px;
    }
    #product_image_modal .modal-content {
      width: 30%;
    }
    #plist tr td:first-child, #plist tr th:first-child {
       padding-left: 10px;
    }
   #plist td {
       font-size: 16px;
   }
    #plist td, #plist th, #prod-listing th {
        padding-left: 10px;
    }
    #side {
        display: block;
    }
    .motto {
        font-size: 24px;
    }
    #pl_index li, #home_page li {
        height: 80px;
        padding: 25px 0;
        font-size: 20px;
        width: 23%;
    }
    #ap_index li {
        width: 23%;
   }

    #main_panel {
        width:80%;
    }
    #side_panel {
        width:20%;
        padding-left: 15px;
    }
    div.page_links {
        display: block;
        padding: 0 10px;
    }
    #fsm {
        display: none;
    }
    .footer_box {
        font-size: 15px ;
        width:25%;
    }
    #footer ul {
        padding-left: 50px;
    }
    #prod_inf img {
    }
    #cart_add .modal-content {
      width: 90%;
    }
    .c-mm {
      margin: 0 90px;
    }
}
@media only screen and (min-width: 1000px) {
    body {
        padding: 0 40px;
    }
/*    span#prod_ajax input#userInput{
        width: 280px;
        height:auto;
        font: 16px arial, sans-serif;
    }
*/    span#prod_ajax #filter{
        /*width: 360px;*/
    }
    span#prod_ajax ul{
        width: 380px;
      }
    span#prod_ajax li{
        width: 380px;
        height: 20px;
        font: 16px arial, sans-serif;
    }
    #header_banner {
        width:70%;
        margin-left: 20px;;
    }
    #header_logo {
        display: block;
        padding: 0 0 0 60px;
    }
    .modal {
      padding-top: 100px;
    }
    .modal-content {
      margin: auto;
      padding: 10px 20px;
      width: 80%;
      border: 2px black solid;
    }
    #login_div .modal-content {
      width: 60%;
    }
    .close, .cart-btn {
      font-size: 15px;
      width: 85px;
      padding: 5px;
      margin: 10px;
    }
    [data-caption] {
      font-size: clamp(1rem, 10vw, 50px);
    }
   #plist td {
       font-size: 17px;
   }
    #main_panel_content, #main_panel_top {
        padding-top: 2px;
    }
/*    #topbar_nav {
        padding: 0 20% 0 90px;
    }
*/    .dropdown-menu-right {
      right: 20px;  /*needs to be same as r - padding for #topbar_nav */
    }
    .site_links, .current_site_link {
        padding: 10px ;
    }
    .c-mm {
      margin: 0 150px;
    }
    #add_to_cart_modal .modal-content {
      width: 70%;
    }
    #out_of_stock_info_modal .modal-content, #prod_info_modal .modal-content, #info_modal .modal-content {
      width: 60%;
    }
    #out_of_stock_info_modal .modal-content, {
      width: 60%;
    }
     #prod_info_modal .modal-content, #info_modal .modal-content {
      width: 70%;
    }
    .hp_ccats > div.text, .hp_text > p{
       font-size: 1rem;
    }

}
@media only screen and (max-width: 1000px) {
    div#r_panel_logo {
        width: 100%;
        margin:auto;
    }
}
@media only screen and (min-width: 1500px) {
    #product_image_modal .modal-content {
      width: 25%;
    }
    #out_of_stock_info_modal .modal-content, {
      width: 50%;
    }
}
